package cn.sz.dzy.io.server;

import cn.sz.dzy.io.util.Constants;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;

/**
 * @program: io
 * @description:
 * @author: DingZhenYun
 * @create: 2024-05-24 13:44
 **/

public class ServerChat {

    /**
     * 定义一个集合存放所有在线的socket
     * 在线集合只需要一个：存储客户端socket的同时还需要知道这个Socket客户端的名称
     */
    public static Map<Socket, String> onLineSockets = new HashMap<>();

    public static void main(String[] args) throws IOException {
        System.out.println("==服务器的启动==");
        /** 注册端口   */
        ServerSocket serverSocket = new ServerSocket(Constants.PORT);
        //自旋
        while (true){
            //监听连接
            Socket socket = serverSocket.accept();
            /** 把客户端的socket管道单独配置一个线程来处理 */
            new ServerReader(socket).start();
        }
    }
}
